더 나은 나를 위한 노력

시계열 이상 탐지

|

시계열 데이터의 특성

  • 시계열 데이터 : 시간에 따라서 변화하는 데이터
  • 구성
    1. Trend
    2. Seasonal
    3. Random (= Residual)
      time series

anomaly detection methodology

  • anomaly detection : 일반적인 outlier를 찾는 것이 아니라, time series data에서 outlier를 찾는 것
  • 필요성
    1. 평소보다 데이터가 심하게 크거나 작은 경우
    2. 데이터의 패턴 변경
  • 주요 탐지기법
    1. 상태 공간 모델(state space models) : exponentail smoothing, Holt-Winters, ARIMA
    2. 분해 (decomposition) : STL 등 고전적인 분해 기법들
    3. 딥러닝 : RNN
    4. 차원감소 (demension reduction) : RPCA, SOM, discords, piescewise linear

쉬운 방법들

  • STL decomposition
    • time series = sesonal + trend 구분하여, random graph에서 비정상 포인트를 발견
    • STL
  • CART (classification and regresion trees)
    • classification에 따라서 regression을 통해 각 weight를 계산
    • supervised learning이기 때문에 labeled data가 필요하다.
    • CART
  • Moving Average (=roling average)
    • 특정 기간의 평균값을 데이터로 취하여 이동평균선을 구하고, 각 지점에서의 표준편차를 이용해 신뢰구간을 그린 다음 실제 값이 이 신뢰구간을 벗어난다면 비정상이라고 판단.
    • 이동평균선을 그릴 기간(흔히 window size라고 표현)을 얼마로 할 것인가가 중요한 문제
    • moving average

개선된 방법

  • Prophet
    • 페이스북에서 만든 비정상탐지 알고리즘
    • 자세한 설명은 지난 글에 정리되어 있다.
  • Clustering
    • 시간에 따라서 패턴이 크게 달라지는 경우, 군집 분석을 통하여 먼저 시간의 구간을 구분한 뒤, 각 구간별로 시계열 분석을 실시
    • clustering